
# h=float(input("请输入身高:(m)"))
# w=float(input("请输入体重(KG):"))
# s=w/h*h
# print('s值为：',s)
# if s<=18.5:
#     print("过轻")
# elif s>18.5 and s<=25:
#     print("正常")
# elif s>25 and s<=28:
#     print("过重")
# elif s>28 and s<=32:
#     print("肥胖")
# elif s>32:
#     print("过胖")



# a=2
# s=a*a*a
# print(s)

# height=float(input("请输入小明的身高（m）:"))
# weight=float(input("请输入小明的体重（kg）:"))
# BIM=weight/pow(height,2)
# print('小明的BIM为：',BIM)
# if BIM>32:
#     print("严重肥胖")
# elif BIM<=32 and BIM>28:
#     print("肥胖")
# elif BIM<=28 and BIM>25:
#     print("过重")
# elif BIM<=25 and BIM>=18.5:
#     print("正常")
# elif BIM<18.5:
#     print("过轻")

# a=int(input('请输入年龄1:'))
# b=int(input('请输入年龄2:')) 
# c=int(input('请输入年龄3:'))
# if a>b and a>c:
#      print("年龄大的是a",a)
# elif b>a and b>c:
#      print("年龄大的是b",b)
# elif c>a and c>b:
#      print("年龄大的是c",c)

# sum=0
# list=[91,78,84,67,83,76,99,95,93,88]
# x=max(list)
# y=min(list)
# for i in list:
#     if i!=x and i!=y:
#         sum+=i
#         p=sum/8
# print('最大值是：',x)
# print('最小值是：',y)
# print(sum)




# list=[12,56,89,89,89,89,89,100]
# s=max(list)
# x=min(list)
# w=0
# for i in list:
#     if i==s:
#         print('最da值是:',s)
#     elif i==x:
#         print('最小值是：',x)
#     else:
#         w+=i
# print('平均分是:',w/8)



# a=float(input('请输入math:'))
# b=float(input('请输入Chinese:'))
# c=float(input('请输入ENG:'))
# w=(a+b+c)/3

# print("平均分：",w)
# 1、从当前列表中a = list((1,2,3,4,5,6,7,8,9,10,11,12,13,14))
# 获取9-12的值

# 3、打印输出0-200之间能被7整除但不能被4整除的所有整数!
# sum=0
# for i in range(1,101):
#     if i%2!=0:
#         sum+=i
# print(sum)


# 3.写代码，使用while循环或for循环打印1-2+3-4+5.......+99的过程和结果（10分）
# 4.去除列表中的重复元素，L=['b', 'c', 'd', 'c', 'b', 'a', 'a']，并按照先后顺序排序（10分）
# 编程将所有“水仙花数”打印出来，并打印其总个数。 “水仙花数”是一个 各个位立方之和等于该整数的三位数。

# 思路:既然是三位数,首先遍历100~999范围内的数. 然后依次取出三位数的个位,十位,百位,然后立方求和看是否和三位数相等.
# [153，370，371，407]

# sum=0
# for i in range(1,100):
#     if i ==99:
#         print(i,end='=')
#         break
#     if i%2==0:
#         print(i,end='+')
#     if i%2!=0:
#         print(i,end='-')
#     sum+=i
# print(sum)
# # l1 = ['b','c','d','b','c','a','a'] 
# l2 = list(set(l1)) 
# l2.sort(key=l1.index) 
# print l2
# s='ilove...python'
# print(s.split('love'))
# # print(s.split('love')[1].split('python')[0])
'''
L=['b', 'c', 'd', 'c', 'b', 'a', 'a']
s=list(set(L))
s.sort(key=L.index)
print(s)
'''


# for i in range(100,1000):
#     bai=i//100
#     shi=i%100//10
#     ge=i%10
#     if bai**3+shi**3+ge**3==i:
#         print(i)

# 5、获取当前的时间，并判断在7-8点提醒吃早饭，12-1点提醒吃午饭，6点提醒下班
# 11点提醒该睡觉了。
# 6、使用for循环，打印菱形

# oldArr=[1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5]; 
# 要求将以上列表中的0项去掉，将不为0的值存入一个新的列表，生成新的列表为 
# newArr=[1,3,4,5,6,6,5,4,7,6,7,5]
# list=[]
# r=[1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5]
# for i in r:
#     if i==0:
#         pass
#     else:
#         list.append(i)
# print(list)
# import datetime
# t=datetime.datetime.now().hour

# # # t="%s"%i.hour+':'+"%s"%i.minute
# print(t)
# if t>=7 and t<=8:
#     print("该吃早饭啦")
# elif t>12 and t<13:
#     print("该午饭啦")
# elif t==18:
#     print("该下班啦")
# elif t==23:
#     print("睡觉啦")
# else:
#     print('滚去学习')


# 输入一个值：
# x<1的时候，y = x；
# 1<=x<10的时候，y=2x-1；
# x>=10的时候，y=3x-11。
# 写一段程序，输入x，输出y值.
# x=int(input("请输入一个值"))
# y=0
# if x<1:
#     print(x)
# elif x>=1 and x<10:
#     y=x*2-1
#     print(y)
# elif x>=10:
#     y=x*3-11
#     print(y)

    # 铁路托运行李规定：行李重不超过50公斤的，托运费按15元每公斤计算，如果超过50公斤，超出部分每公斤加收10元。编程实现上述功能。
      
# x=int(input('请输入公斤数:'))
# if x<50:
#      x=x*15
#      print(x)
# elif x>=50:
#     x=50*15+(x-50)*10
#     print(x)
# 求1 X 2 X 3 X 4 X ... X 19 X 20的结果?
# 思路:通过循环遍历出1~20的数,然后连乘. 注:因为是乘法运算,初值要为1.
# x=1
# for i in range(1,21):
#     if i <=20:
#         x=i*x
#         i+=1
# print(x)

# 已知abc + cba = 1333,其中a,b,c均为一位数，编程求出满足条件的a,b,c所有组合

# for a in range(1,10):
#     for b in range(0,10):
#         for c in range(0,10):
#             if (a*100+b*10+c)+(c*100+b*10+a)==1333:
#                 print(a,b,c)
# 1.随机输出20个正整数.用for循环20次,随机数:Math.random() [0,1]的范围
# 2.正整数在[10,100]内.
# 3.输出这20个数.

# import random
# for i in range(0,20):
#     if i<20:
#         print (random.randint(10,100))
#         i+=1
#     else:
#         pass

# 1、实现字符串反转 输入str="string"输出'gnirts'




    





# 2、输入一行字符， 分别统计出其中英文字母、空格、数字和其它字符的个数
# 3、一球从100米高度自由落下，每次落地后反跳回原高度的一半，再落下，
# 求他在第10次落地时，共经过多少米？第10次反弹多高？
# 4、有字符串s = ‘alex’通过操作该字符串构造一个字符串s1 = ‘a_l_e_x’
# 5、有字符串s = ‘alex wusir’,通过操作该字符串构造一个列表li = [‘alex’,’wusir’]

# str='alex wusir'
# print(str.split(' '))





# lst=list(input('请输入一串数字:'))
# iLetter=[]
# iNumber=[]
# iSpace=[]
# iOther=[]

# for i in range(len(lst)):
#     if ord(lst[i]) in range(65, 91) or ord(lst[i]) in range(97,123):
#         iLetter.append(lst[i])
#     elif ord(lst[i]) in range(48,58):
#         iNumber.append(lst[i])
#     elif lst[i]==' ':
#         iSpace.append(' ')
#     else:
#         iOther.append(lst[i])

# print('中英文字母个数：%s' % len(iLetter))
# print('空格个数：%s' % len(iSpace))
# print('数字个数：%s' % len(iNumber))
# print('其它字符个数：%s' % len(iOther))      




# h=100
# x=100
# for i in range(0,11):
#     h=h/2
#     x=x+h*2
# print(h)
# print(x)


# s='alxuiga'
# s1='_'.join(s)
# print(s1)

# s ='alex wusir'
# list=s.split()
# print(list)

s='afgvhjavs...pshya'
li=s.split('s')[1].split('p')[0]
print(li)




# lis=list(input('请输入一段字符：'))
# iLetter=[]
# iNumber=[]
# iSpace=[]
# iOther=[]
# for i in range(len(lis)):
#     if ord(lis[i]) in range(65,91) or ord(lis[i]) in range (97,123):
#         iNumber.append(lis[i])
#     elif ord(lis[i]) in range (37,49):
#         iLetter.append(lis[i])
#     elif lis[i]==' ':
#         iSpace.append(' ')
#     else:
#         iOther.append(lis[i])
# print('中英文字母:%s'%len(iNumber))
# print('数字个数:%s'%len(iLetter))
# print('空格个数为:%s'%len (iSpace))
# print('其他符号个数:%s'%len(iOther))











# 6、将以下字符串替换成指定的ascii编码
# ss = 'The quick brown fox jumped over the lazy dog.'
# for i in (ss):
#     if i==' ':
#         pass #去掉空格
#     else:
#         print(ord(i))
   

# 7、使用列表嵌套，完成8名老师随机分配3个办公室
# import random
# office=[[],[],[]]
# names=['A','B','C','D','E','F','G','H']
# for name in names:
#     index=random.randint(0,2)
#     office[index].append(name)
# print(office)


# names = [{'name':'pjj','age':18},{'name':'zy','age':20}]
# while True:
#     # 删除
#      del_name = input("请输入要删除的名字：")
#      find_flag = False
#      for line in names:
#           if line['name'] ==del_name:
#                find_flag = True
#                names.remove(line)
 
#      if find_flag:
#           print("已删除！")
#      else:
#           print("输入的用户名不存在")
#      print(names)




# 8、统计字符串中，各个字符的个数
# 比如："hello world" 字符串统计的结果为： h:1 e:1 l:3 o:2 d:1 r:1 w:1
# str='hello world'
# dict={}
# for i in str:
#     dict[i]=str.count(i) #在Str中 i 出现的次数。 赋值到字典中
# print(dict)













# str=input('请输入你要的字符：')
# di={}
# for i in str:
#     di[i]=str.count(i)
# print(di)

# 1．如何将一个整数显示成八进制、十六进制或二进制的形式？
'''
# dec=int(input('请输入一个整数：'))
# print('输出的二进制为：',bin(dec))
# print('输出的八进制为：',oct(dec))
# print('输出的十进制为：',dec)
# print('输出的十六进制为：',hex(dec))
# '''
# 
# x=0
# for i in range(1,11):
#     if i<10:
#         print(i,end='+')
#     elif i==10:
#         print(i,end='=')
#     x+=i
# print(x)

# 2．给定字符串"Python language"：
# （a）写出表达式，显示第一个字符。
#      str1 = "Python language"
# str1='Python language'
# print(str1[0])

# （b）写出表达式，显示最后一个字符。
# （c）写出len函数的表达式，显示最后一个字符。
# str='python language'
# s=(len(str)-1)
# print(str[s])

# 3．能将多个字符串方法在一个表达式中联合使用吗？例如s="ab",s.upper().lower()是什么意思？

# 4．两个字符串方法：find和index，用于判定一个字符是否在字符串中。

 

# 5．写一个程序，提示输入两个字符串，然后进行比较，输出较小的字符串。

# 6．给出字符串strings='abaabaabbbaba'。写一个表达式，去除其中所有'b'，得到另一个字符串newstring='aaaaaa'。
# newstring=''
# strings='abaabaabbbaba'
# for i in strings:
#     if i !='b':
#         newstring+=i
# print(newstring)
# 7、按升序合并如下两个list, 并去除重复的元素\


# list1 = [2, 3, 8, 4, 9, 5, 6]
# list2 = [5, 6, 10, 17, 11, 2]
# list3=list1+list2
# list=[]
# for i in list3:
#     if i not in list:
#         list+=[i]
#         s=sorted(list)
# print(s)





# 写代码：有如下字典
# 按照要求实现每一个功能
# 
# dict = {"k1":"v1","k2":"v2","k3":"v3"}
# for i in dict.keys():
#     print(i)

# dict = {"k1":"v1","k2":"v2","k3":"v3"}
# for i in dict.values():
#     print(i)
# dict = {"k1":"v1","k2":"v2","k3":"v3"}
# for i in dict:
#     print(i,dict[i])


# 1、请循环遍历出所有的key
# 2、请循环遍历出所有的value
# 3、请循环遍历出所有的key和value
# 4、请在字典中增加一个键值对,"k4":"v4"，输出添加后的字典
# 5、请删除字典中键值对"k1":"v1",并输出删除后的结果
# 6、请删除字典中键"k5"对应的键值对，如果字典中不存在键"k5",则不报错，返回None
# 7、请获取字典中"k2"对应的值
# 8、请获取字典中"k6"对应的值,如果不存在，则不报错，并且让其返回None。
# 9、现有dict2 = {"k1":"v11","a":"b"},通过一行操作使dict2 = {"k1":"v1","k2":"v2","k3":"v3","a":"b"}
# 10、组合嵌套题。写代码，有如下列表，按照要求实现每一个功能

# lis = [["k",["qwe",20,{"k1":["tt",3,"1"]},89],"ab"]]
# 10.1、将列表中的数字变成字符串"100"(用两种方法)
# 10.2、将列表中的字符串"1"变成数字101(用两种方法)


# for i in range(1, 10):
#     for j in range(1, i+1):
#         print('{}x{}={}\t'.format/'''替换'''(i, j, i*j), end='')
#     print()


# def sunNum():
#     sum1=6*7
#     return sum1
# num1=sunNum()
# print(num1)


'''
x = [3, 5, 7]
x[len(x):] = [1,2]
print(x)
冒号前是几，就保留几位[3, 5, 7, 1, 2]


print(list(zip([1,2], [3,4])))
zip在列表中，值对值，键对键
[(1, 3), (2, 4)]
'''
# print(len([i for i in range(10)]))
# x=[1,2,5]
# y = x[:]
# # print(id(x) == id(y) )


# sum(range(1, 10, 2)) 
# 1+3+5+7+9=25

# for i in range(3):
#     print(i, end=',')




# s=chr(ord('A')+2)
# print(s)  输出的是ASCIII码
# A 65 Z 90
# a 97 z 122
# 0-9 48-37
# 空格 32
# x='hello world'
# print(x.replace('hello', 'hi')) 

# 替换hello

# [91,78,84,67,83,76,99,95,93,88]
# 歌手打分：在歌唱比赛中，共有10位评委进行打分，
# 在计算歌手得分时，去掉一个最高分，去掉一个最低分，
# 然后剩余的8位评委的分数进行平均，
# 就是该选手的最终得分。输入每个评委的评分，求某选手的得分
# list=[91,59,99,98,97,96,92,100]
# li=[]
# s=0
# w=0
# a=max(list)
# b=min(list)
# for i in list:
#     if i !=a and i!=b:
#         li+=[i]
#         s+=i
#         w=s/len(li)
# print(w)

# for i in range(1,10):
#     for j in range(1,i+1):
#         print('{}x{}={}\t'.format(i,j,i*j),end='')
#     print()    
'''
7,有一个列表，其中包括 10 个元素，
例如这个列表是[1,2,3,4,5,6,7,8,9,0],
要求将列表中的每个元素一次向前移动一个位置，
第一个元素到列表的最后，然后输出这个列表。
最终样式是[2,3,4,5,6,7,8,9,0,1]
'''
'''
list=[1,2,3,4,5,6,7,8,9,0]
b=list.pop(0)
list.append(b)
print(list)
'''
# list= [91,78,84,67,83,76,99,95,93,88]
# a=int(input("请输入第一个人的年龄："))
# b=int(input("请输入第二个人的年龄："))
# c=int(input("请输入第三个人的年龄："))
# age=max(a,b,c)
# print("最大的年龄是：%d"%age)

# 实现五行五列，打印星星
# for i in range (1,6)：
#     if i%2==0:
#         for j in range (5)：
#             print('*',end='')
#     else:
#         for j in range(5):
#             print('*',end='')

'''
百元买百鸡：
公鸡5元一只，母鸡3元一只，小鸡3只一元
百元买百鸡
for x in range (1,22):
    for y in range(1,33):
        z=100-x-y
        if z%3==0 and (5*x+3*y+z/3==100):
            print((x,y,z))
'''
'''
百僧吃百馍
每个大和尚吃三个馒头，每三个小和尚吃一个馒头
'''

# for x in range(1,34):
#     y=100-x
#     if y%3==0 and (x*3+y/3==100):
#         print('大和尚个数为:%s'%x,'小和尚个数为：%s'%y)

# def calc(number):
#     sum=0
#     for n in number:
#         sum=sum+n*n
#     return sum
# print(calc([1,2,3]))
'''
for i in range(10):
    if i>8:
        s=i
print(s)
'''

# 1)产生一个列表，其中有 40 个元素，每个元素是 0 到 100 的一个随机整数
# 2)如果这个列表中的数据代表着某个班级 40 人的分数，
#    请计算成绩低于平均分的学生人数，并输出
# 3)对上面的列表元素从大到小排序
'''
sum=0
w=0
li=[]
import random
list=[random.randint(0,100) for i in range(40)]
for i in list:
    i+=1
    sum+=i
    w=sum/(len(list))
    if i<w:
        li+=[i]
print('列表为：%s'%list,'平均分为:%s'%w,'不到平均分的人个数：%s'%len(li))
'''
# x = [[1, 2, 3],[4, 5, 6]]
# for i in range(3):
#     for row in x:
#     print(row[i])

'''
goods = [{"name": "电视机", "price": 1999, "num": 10},
{"name": "iPad", "price": 2399, "num": 20},
{"name": "手机", "price": 3000, "num": 14},
{"name": "运动手环", "price": 998, "num": 32}
,]
while True:
    money=input('请输入总资产：').strip()
    if money.isdigit():
        break
    else:
        print('您的输入有误，请重新输入：')
money=int(money)
money1=money
buy=[]
goods=[{"name": "电视机", "price": 1999, "num": 10},{"name": "iPad", "price": 2399, "num": 20},{"name": "手机", "price": 3000, "num": 14},{"name": "运动手环", "price": 998, "num": 32},]
name='name'
price='price'
while True:
    print('下面是商品列表'.center(40,'*'))
    for i,j in enumerate(goods,1):
        print('编号{}\t\t商品名称:{}\t\t商品价格{}'.format(i,j[name],j[price]))
    print('*'*40)
    number=input("请输入要买商品的编号（充值请按C/c，删除请按D/d，退出请按Q/q:").strip()
    if number.isdigit():
        number=int(number)
        if number<=len(goods):
            if goods[number-1][price]<=money:
                buy.append(goods[number-1])
                money-=goods[number-1][price]
                print('已经添加购物车%s,剩余的金额为%d'%(goods[number-1][name],money))
            else:
                print('您的余额不足')  
        else:
            print('您输入的编号超出范围')          
    elif number.upper()=='Q':
        if buy:
            print('您购买的商品为:')
            for k in buy:
                print(k[name])
            print('总消费%d'%(money1-money)) 
        else:print('您的购物车为空') 
        break
    elif number.upper()=='C':
        while True:
            money2=input('请输入充值金额：')
            if money2.isdigit():
                money2=int(money2)
                money+=money2
                print('充值成功,剩余金额为：%d'%money)
                break
            else:print('您的输入有误！！')   
    elif number.upper()=='D':
        if buy:
            print('购物车商品为:'.center(40,'*'))
            for l,m in enumerate(buy,1):
                print('编号{}\t\t商品名称{}\t\t商品价格{}'.format(l,m[name],m[price]))
                print('*'*40)
            delete=input('请输入你要删除的商品编号:').strip()
            if delete.isdigit():
                delete=int(delete)
                if delete<=len(buy):
                    del buy[delete-1]
                    print('删除成功！')
                else:print('您的输入超出范围！')   
            else:print('您的输入有误！')  
        else:print('您的购物车为空！')  
    else:print('您的输入有误！')   
'''               
'''
8、	设计一个验证用户密码程序
       用户只有三次机会输入错误
            不过如果用户输入的内容中包含“*”则不计算在内
'''
# # def sum1():        
# time=3
# name=('wyg')
# pw=('0000')
# while time:
#         umane=input('请输入你的用户名：')
#         upw=input('请输入你的密码：')
#         if umane==name and upw==pw:
#             print('登录成功，欢迎你！')
#             break
#         elif '*' in upw:
#             print('您的输入含有非法字符您还剩',time-1,'次机会')
#             if time-1==0:
#                 print('0次机会您的账户已被锁定！')
#             break
#         else:
#             print('您的输入有误您还剩',time-1,'次机会')
#             if time-1==0:
#                 print('抱歉，用户被锁定！')
#         time-=1    
# sum1()

# 心形图案
# print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))




# 要求: 
# 打印省、市、县三级菜单
# 可返回上一级
# 可随时退出

# china_map={

#     "华北地区":{"北京":["朝阳区","东城区","西城区","丰台区","海淀区"],
#                 "河南":["郑州市","洛阳市","安阳市","三门峡市","新乡市","信阳市","周口市"],
#                 "河北":["石家庄","邯郸市","邢台市","沧州市","保定市","唐山市","秦皇岛市"],
#                 "山西":["太原市","大同市","阳泉市","晋城市"]},
#     "华东地区":{"上海":["黄浦区","卢湾区","徐汇区","普陀区"],
#                 "安徽":["合肥市","芜湖市","马鞍山市","淮河"],
#                 "江苏":["南京市","无锡市","徐州"]},
#     "华南地区":{"广东":["广州市","佛山市","深圳市","东莞市"],
#                 "广西":["南宁市","柳州市","桂林市"],
#                 "海南":["海口市","三亚市","三沙市"]},
#     "西南地区":{"重庆":["万州区","涪陵区"],
#                 "四川":["成都市","自贡市","攀枝花"],
#                 "贵州":["贵阳市","六盘水市","遵义市"]},
#     "特别行政区":{"香港":["湾仔","屯门","北角"],
#                 "澳门":["花地玛堂区","圣安东尼堂区"],
#                 "台湾":["台北市","台南市","高雄市"]} ,
#     "自治区":{"西藏":["拉萨","甘孜"],
#                 "新疆":["乌鲁木齐","克拉玛依"],
#                 "内蒙古":["呼和浩特","包头"]},
#     "东北地区":{"黑龙江":["哈尔滨","大庆"],
#                     "吉林":["长春","延边"],
#                     "辽宁":["沈阳","铁岭"]}
# }                                                           
# print('------------------------------------')
# print('|                                   |')
# print('|                                   |')
# print('|    欢迎来到大中华地图             |')
# print('|                                   |')
# print('|                                   |')
# print('------------------------------------')
# flag=True
# list1=list(china_map.keys())
# while flag:
#     for i,j in enumerate(list1,1):
#         print(i,j)
#     input1=input("请输入你想要的区,退出请按Q/q").strip()
#     if input1.isdigit():
#         input1=int(input1) 
#         if input1<=len(list1):
#             while flag:
#                 num1=list1[input1-1]
#                 list2=list(china_map[num1].keys())
#                 for k,l in enumerate(list2,1):
#                     print(k,l)
#                 input2=input("请输入你想要的省,返回请按B/b,退出请按Q/q").strip()
#                 if input2.isdigit():
#                     input2=int(input2)
#                     if input2<=len(list2):
#                         while flag:                               
#                             num2=list2[input2-1]
#                             list3=list(china_map[num1][num2])
#                             for m,n in enumerate(list3,1):
#                                 print(m,n)                   
#                             input3=input("返回请按B/b,退出请按Q/q").strip()
#                             if input3.upper()=="B":
#                                 break
#                             elif input3.upper()=="Q":
#                                 flag=False
#                             else:print("你的输入不合法！")        
#                     else:print("你的输入超出范围！") 
#                 elif input2.upper()=='B':
#                     break                      
#                 elif input2.upper()=='Q':
#                     flag=False
#                 else:print("你的输入不合法！")
#         else:print("你的输入超出范围！")                                  
#     elif input1.upper()=='Q':
#         flag=False       
           



# map={"中国":{"河南":["郑州","安阳"],"北京":["风城区","朝阳区"],"上海":["徐汇区","黄埔区"]},
#       "美国":{"洛杉矶":["宾尼","加州"],"纽约":["佐尼亚","凯特区"]},
#       "俄罗斯":{"莫斯科":["特里斯坦"]},
#       "法国":{"巴黎":["香奈道"]}}
# flag=True
# list1=list(map.keys())
# while flag:
#     for i,j in enumerate(list1,1):
#         print(i,j)
#     input1=input("请输入你想要选的国家,退出请按Q/q").strip()
#     if input1.isdigit():
#         input1=int(input1)
#         if input1<=len(list1):
#             while flag:
#                 number1=list1[input1-1]
#                 list2=list(map[number1].keys())
#                 for l,m in enumerate(list2,1):
#                     print(l,m)
#                 input2=input("请输入你想要选的地区,返回请按Q/q,退出请按D/d:").strip()
#                 if input2.isdigit():
#                     input2=int(input2)
#                     if input2<=len(list2):
#                         while flag:
#                             number2=list2[input2-1]
#                             list3=list(map[number1][number2])
#                             for z,x in enumerate(list3,1):
#                                 print(z,x)
#                             input3=input("退出请按D/d,返回请按Q/q:").strip()
#                             if input3.upper()=="D":
#                                 flag=False
#                             elif input3.upper()=="Q":
#                                 break
#                             else:print("输入错误！！！！")        
#                     else:print("你的输入超过范围")                                       
#                 elif input2.upper()=="Q":
#                     break
#                 elif input2.upper()=="D":
#                     flag=False        
#         else:print("你的输入超过范围")                    
#     elif input1.upper()=="Q":
#         flag=False
#     else:print("你的输入有误")    
   


# list=[0,1,2]
# a=list.pop(0)
# li=list.append(a)
# print(li)
'''
def mysum(L):
    print(L)
    if not L:
	    return 0
    else:
	    return L[0] + mysum(L[1:])
print(mysum([1,2,3,4,5]))  
'''


'''
#自定义函数 10以内的加法
def asum(n):
    sum=0
    for i in range(1,n+1):
        sum+=i
    return asum
print(sum(10))
'''
# 递归函数 10以内的加法
'''
def sum1(n):
    if n>0:
        return n+sum1(n-1)
    else:
        return 0
print(sum1(10))        
'''

# "计算阶乘！"
# def sum2(n):
#     if n==1:
#         return 1
#     else:    
#         return n*sum2(n-1)
# print(sum2(10)) 
     
# # 匿名函数作业：
# # 1、使用匿名函数求两数的最小值


# # sums=lambda a,b:min(a,b)
# # print(sums(2,9))


# # 2、定义一个匿名函数，实现三个字符串拼接，字符串允许有默认值
# # sum=lambda str1,str2,str3:str1+str2+str3
# # print(sum("dsd",'sdsd','guid'))


# # 3、计算1到100之间相加之和；通过循环和递归两种方式实现
# # '     
        








# # for 循环
# # sum=0
# # for i in range(1,101):
# #     sum+=i
# # print(sum)

# # 自定义函数
# # def sum(n):
# #     sum=0
# #     for i in range(1,n+1):
# #         sum+=i
# #     return sum
# # print(sum(100))  

# #   递归函数      
# # def sum(n):
# #     if n >0:
# #         return n+sum(n-1)
# #     else:
# #         return 0
# # print(sum(100))   

# # 4、一天小熊来到一片玉米地，兴奋的掰了若干个玉米，他发现太多了，
# # 于是扔了其中一半，感觉还是有点多，于是又扔了一个后往家赶；
# # 当它走了一米的时候感觉有点累，于是扔掉其中的一半加一个，
# # 继续往前每走一米重复以往的动作，扔掉其中的一半加一个；
# # 当它走到10米时候，发现手中就剩一个了，有点伤感，
# # 也忘了开始自己摘了几个玉米了，那么你帮小熊算算，它开始掰了几个玉米？
# def xx(a,b):
#     a=(a+1)*2
#     b-=1
#     if b>0:
#         a=xx(a,b)
#     return a
# print(xx(1,10))







# a=1
# b=10
# for i in range(1,11):
#    a=(a+1)*2
#    b-=1
# print(a)

# def xiao(a,b):
#     a=(a+1)*2
#     b-=1
#     if b>0:
#       a=xiao(a,b)
#     return(a)
# print(xiao(1,10))  






# # def sum2(a,b):
# #     b-=1
# #     a=(a+1)*2
# #     if b>0:
# #         a=sum2(a,b)
# #     return(a) 
# # print(sum2(1,10))


# a=1
# b=10
# for i in range(10):
#     if b>=0:
#         a=(a+1)*2
#         b-=1
# print(a)



# 启动程序，首页面应该显示成如下格式：
#     欢迎来到博客园首页
#     1:请登录    √
#     2:请注册    √
#     3:文章页面  √
#     4:日记页面  √
#     5:评论页面  √
#     6:收藏页面  √
#     7:注销      √
#     8:退出程序  √
# 2)，用户输入选项，3~6选项必须在用户登录成功之后，才能访问成功。
# 3)，用户选择登录，用户名密码从字典中读取验证，三次机会，没成功则结束整个程序运行，
# 成功之后，可以选择访问3~6项，访问页面之前，必须要在打印信息，
#  格式为-->用户:xx 在xx年xx月xx日 执行了 %s操作，访问页面时，页面内容为：欢迎xx用户访问评论（文章，日记，收藏）页面
# 4)，如果用户没有注册，则可以选择注册，注册成功之后，可以自动完成登录（完成自动登录+5分），然后进入首页选择。
# 5)，注销用户是指注销用户的登录状态，使其在访问任何页面时，必须重新登录。
# 6)，退出程序为结束整个程序运行。
'''
def show():
    print("*"*50)
    print("欢迎来到博客园首页")
    print("1:请登录")
    print("2:请注册")
    print("3:文章页面")
    print("4:日记页面")
    print("5:评论页面")
    print("6:收藏页面")
    print("7:注销")
    print("8:退出程序")
    print("*"*50)
# show()
'''
# def login(dic, zt):
#     if zt not in dic:
#         username = input("请输入你的用户名：").strip()
#         if username in dic["name"]:
#             i = 0
#             while i < 3:
#                 pwd = input("请输入你的密码：")
#                 if pwd == dic[username]:
#                     print("登陆成功！！！")
#                     zt = username
#                     break
#                 else:
#                     if i == 2:
#                         print("密码错误")
#                     else:
#                         print("密码错误，请重新输入(仅剩%d次机会）" % (2 - i))
#         else:
#             print("账户不存在！！！")
#     else:
#         print("注册后再登录")
#     return zt
# login(dic)
'''
def register(dic, zt):
    if zt not in dic:
        username = input("你所注册的用户名：")
        if username in dic["name"]:
            print("账户已存在！！！")
        else:
            pwd = input("请输入你的密码:")
            dic["name"].append(username)
            dic[username] = pwd
            zt = username
            print("注册成功！！！")
    return dic, zt

def wenzhang(dic,zt):
    if zt not in dic:
        print("请登陆后再查看")
    else:
        print("欢迎%s用户访问文章页面" % zt)

def riji():
    tim = time.strftime("%Y-%m-%d  %H:%M:%S")
    file = open("卡片操作日志.txt", "a", encoding='utf-8')
    file.write("%s你进行了操作\n" % tim)

def pinglun(dic,zt):
    if zt not in dic:
        print("请登陆后再查看")
    else:
        print("欢迎%s用户评论文章页面" % zt)

def shoucang(dic,zt):
    if zt not in dic:
        print("请登陆后再查看")
    else:
        print("欢迎%s用户收藏文章页面" % zt)

import time
dic = {'name':['jingjing','liangliang','xinxin'],
'jingjing':'11111','liangliang':'22222','xinxin':'33333'}

zt = 'no'

if __name__ == '__main__':
    show()
key = 0
flag = True
while flag:
    key = input("请输入选项")
    if key =="1":
        riji()
        zt = login(dic, zt)
    elif key == "2":
        riji()
        dic, zt = register(dic, zt)
    elif key == "3":
        riji()
        wenzhang(dic, zt)
    elif key == "4":
        riji()
    elif key == "5":
        riji()
        pinglun(dic,zt)
    elif key == "6":
        riji()
        shoucang(dic,zt)
    elif key =="7":
        y = input("您的账户已注销！是否重新登录y/n")
        zt = "no"
        if y == "y":
            riji()
            login(dic,zt)
        else:
            break
    elif key == "8":
        flag = False 
    else:
        print("输入无效！！！")
'''
'''
def func(a,b):   
    a=a/2
    b-=1
    if b>0:
        a=func(a,b)       
    return a   
print(func(100,7))
'''
'''
list=[]
def fun(X):
    return X*X
res=map(fun,[1,2,3])
for i in res:
    list+=[i]
print(list)
'''  
'''
data=[[1,3,4],[2,3,5],[2,3,7]]
print(data)
data=map(set,data)
'''
# # print(data)
# from functools import reduce
# def func(x,y):
#     return x*y
# result=reduce(func,range(1,4))
# print(result)

# str="I am a good a boy"
# a=str.find("a")
# print(a)

# str="what are you doing"
# a=str.count("o")
# print(a)




# import random
# player=int(input("请输入你的选择： (石头/1,剪刀/2,布/3)  "))
# computer=random.randint(1,3)
# print("你选择的是%d 电脑选择的是%d"%(player,computer))
# if ((player==1 and computer==2) or (player==2 and computer==3)or(player==3 and computer==1)):
#     print("恭喜你，干掉了电脑！")
# elif player==computer:
#     print("好巧，再来一次！")
# else:
#     print("很遗憾，再接再厉！")   


# def func(n): 
#     print(n)
#     if n>0:
#         func(n-1)
#     else:
#         print("")
#     print(n)
# print(func(3))    
'''
def max2(x,y):
    m=x if x>y else y
    return m 
def max4(a,b,c,d):
    res1=max2(a,b)
    res2=max2(res1,c)
    res3=max2(res2,d)
    print(res3)  
max4(5,6,5,0)   
'''
'''

def f1():
    a=1
    def f2():
        def f3():
            print(a)
        f3()
    f2()
f1()        
'''
'''
def func():
    print("in func")
f=func
f()  #里面没变量不加print。否则为None
'''
# def f1():
#     print("f1")
# def f2():
#     print("f2")
# def f3():
#     print("f3")
# L=[f1,f2,f3]
# d={"f1":f1,"f2":f2,"f3":f3}    
# L[0]()
# d["f2"]()


# def f1():
#     print("666")
# def f2(x):
#     x()
# f2(f1)

# def func():
#     name="wyg"
#     def inner():
#         print(name)
#     return inner
# f=func()
# f()


# 1. 使用reduce函数计算[1,2,3,4,5,6,7,8,9,10]阶乘之和
'''

# # '''
# from functools import reduce
# def f(n):
#     if n <= 1:
#         return 1
#     else:
#         return n *f(n-1)
# sum = reduce(lambda x,y: x+y,  [f(n) for n in range(1,11)])
# print(sum) 




# 3.筛选出一组数据中，包含敏感词汇的词，并替换成对应个数的*
# while True:
#     uList=[]
#     t=0

#     list= ['111','222','你他妈']
#     uname=input('请输入姓名：').strip()
#     for i in list:
#         if i in uname:
#             uname=uname.replace(i,len(i)*'*')
#     print(uname)
#     upwd=input('请输入密码：').strip()
#     uList.append({})
#     uList[t]['uname']=uname


#     uList[t]['upwd']=upwd
#     t+=1
#     print(uList)

# def func(n):
#     mg=['诈骗新闻','赌博','吸毒','葛鑫']
#     for i in mg:   
#         n=n.replace(i,len(i)*'*')
#     return n
# li=['葛鑫在柳州的诈骗新闻,葛鑫澳门赌博,葛鑫朝阳区吸毒']
# res=map(func,li)
# print(list(res))




# 4.筛选出班级所有姓张的人和名字中带有张的



# 5.分析当前函数的执行
'''
def yao1(a=1,b=32):
    def yao2(c=54):
        def yao3(d=3):      #函数yao3参量d=3
            def yao4(e=10):     #函数yao4参量e=4
                return a+b+c+d+e       #函数yao4执行的是a+b+c+d+e过程
            return yao4         #执行yao4函数，返回的是a+b+c+d+10
        return yao3        #返回的是a+b+c+3+10
    return yao2                #返回的是a+b+54+3+10
print(yao1()()()())     #返回的是1+32+54+3+10=100
'''


# import datetime
# strtime=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
# print(strtime)

# 首字母大写
# str=('wqe')
# print(str.title())

# 两种找寻的方式
# from functools import reduce
# list=['this','is','a','beautiful']
# count=reduce((lambda str,lis:lis.count('is')),['is',list])
# print(count)


# from functools import reduce
# list=['this is an  maisc is']
# count=reduce((lambda num,lis:num+lis.count('is')),list,0)
# print(count)

# 1、	编写一个函数，要求输入任意的正整数，得到1到这个整数之和。
# SUM=lambda x,Y=1:x+Y
# print(SUM(13))
# 2、	求元组[ 10,8,-1, 100,200, 35]的最大元素


# from functools import reduce
# list=[10,8,-1,100,300,35]
# m=reduce((lambda x,y:max(x,y)),list)
# print(m)

# 3、	将下面数组中的奇数变成它的平方，偶数保持不变. X =[ 1,2,3,4,8,7, 22,33, 88 ]
# def func(x):
#     list=[]
#     for i in x:
#         if i%2!=0:
#             list.append(i*i)          
#         else:
#             list.append(i)   
#     return list
# print(func([1,2,3,4,8,7, 22,33, 88] ))            

# 2.使用filter（）删除1-100的素数

# def fil(x):
#     for y in range(2,x):
#         if x%y==0:
#             return True
#     return False
# res=filter(fil,range(2,101))
# for i in res:
#     print(i)




      
# 4 输入任意年份，判断该年是否为闰年 
# 如果年数可以整除4，则是闰年。否则不是闰年。

# def func(n):
#     if n%4==0:
#         return "闰年"
#     else:
#         return "平年"
# print(func(2018))



# 5、	求 Sn = 1 + 11 +111 + 1111+ ….   + 1111…111(最后一项是n个1)
# 分析：
# 第1项	T 1=1
# 第2项	T2= 11=T1*10 +1
# 第3项	T3= 111=T2*10 +1
# ……..
# 即后一项 = 前一项 * 10 加1

# def sum(a,b):
#     a=a*10+1
#     b-=1
#     if b>0:
#         a+=sum(a,b)
#     return a
# print(sum(0,5))


# 小熊掰玉米问题
# def xx(a,b):
#     a=(a+1)*2
#     b-=1
#     if b>0:
#         a=xx(a,b)
#     return a
# print(xx(1,10))




# 6、数据表记录包含表索引和数值，请对表索引相同的记录进行合并，即将相同索引的数值进行求和运算，输出按照key值升序进行输出。
# - 输入描述:先输入键值对的个数,然后输入成对的index和value值，以空格隔开
# - 输出描述:输出合并后的键值对（多行）
# - 示例1
# 输入
# 4
# 0 1
# 0 2
# 1 2
# 3 4
# 输出
# 0 3
# 1 2
# 3 4


# 7、将一个英文语句以单词为单位逆序排放。例如“I am a boy”，逆序排放后为“boy a am I”
# 所有单词之间用一个空格隔开，语句中除了英文字母外，不再包含其他字符
# - 输入描述:将一个英文语句以单词为单位逆序排放。
# - 输出描述:得到逆序的句子
# 示例1
# - 输入
# I am a boy
# - 输出
# boy a am I
'''
def nixu(s):
    n=s.split(" ")
    n=n[::-1]
    n=' '.join(n)
    return n
print(nixu('i am a boy'))
'''
# func=lambda s:' '.join(s.spit()[::-1])
# print(func('i am a boy'))

# 语句逆序问题
# s='i am  a boy'
# r=s.split(" ")
# r = r[::-1]
# print (' '.join(r))
# 这个还有一个简单的写法，就一行搞定
# print ' '.join(raw_input().split()[::-1])


# 创建文件，修改方式，获取长度
# str1='你好，台湾！'




